#ifndef GAME_STATE_
#define GAME_STATE_

#include <string>
#include <vector>

class GameState {
public:
    virtual void Update() = 0;
    virtual void Render() = 0;

    virtual bool OnEnter() = 0;  // similar initialize function
    virtual bool OnExit() = 0;   // similar clean function

    virtual std::string get_stateid() const = 0;

    virtual ~GameState() {}

protected:
    std::vector<std::string> texture_id_list_;
};

#endif // GAME_STATE_
